Appearance
PICO 4开发
pico 是基于安卓平台的vr开发,创建项目后第一件事就是把生成设置切换成安卓。
前置要求
硬件
- PICO 4
- PC
环境
- Unity Hub unity官网
- Unity(新版即可)
- 平台 - 安卓编译
- 平台 - WebGl
- PICO SDK(unity版本) PICO开发者平台
- 创建PICO应用 PICO 开发者管理平台
快速上手
一、基本参数
1.1 创建项目
类型选择 3D(URP)
1.2 导入XR交互包
包管理器入口:顶部 - 窗口 - 包管理器
- 顶部类型选择 'unity注册表' - 安装 XR Interaction Toolkit(XR交互工具包)
- 顶部类型选择 '项目中' - XR Interaction Toolkit - 导入 starter Assets(初始资源)
- 顶部类型选择 '从磁盘中' - 导入PICO的SDK .json文件
- 将PICO的应用的APP ID输入弹框
1.3 生成设置
生成设置入口:顶部 - 文件 - 生成设置
- 选择并切换至Android平台
- 左下角修改玩家设置
- 公司名称、产品名称修改,过于浮夸会影响打包。
- 其他设置 - 关闭GPU渲染,不支持。
- 其他设置 - 最低API级别 '安卓8.0',不然影响打包。
- 左侧底部插件管理 - 安卓和电脑
二、添加内容
2.1 添加场景
可以添加一个场景素材。unity官方资源网站 或者添加一个平面(地板)和一个球(参照物)
2.2 添加XR控制能力
层级面板右键 - XR - XR Origin(Action-based)基于动作的vr源
此时 'XR Origin - Camera Offset - Main Camera' 会替代主摄像机
- XR Origin
- Character Controller角色控制器组件
- 半径 设置为 0.4 (体宽)
- 高度 设置为 1.7 (身高)
- Character Controller Driver角色控制器驱动组件
- 最小高度 设置为 1 (蹲下)
- 最大高度 设置为 2 (起跳)
- Camera Offset '视角控制'
- Camera Offset - Main Camera '视角'
- Camera Offset - LeftHand Controller '左手控制器'
- XR控制器组件
- 预设 - 选择XRI默认左手控制器
- XR控制器组件
- Camera Offset - RightHand Controller '右手控制器'
- XR控制器组件
- 预设 - 选择XRI默认右手控制器
- XR控制器组件
- Locomotion System(Action-based)'运动系统' (创建)
- Locomotion System 运动系统组件
- XR Origin 选择 XR Origin
- Snap Turn Provider(Action-based) '快速转向' 组件
- 预设 - XRI默认转向
- 勾选 右手触发快速转向
- Continuous Move Provider(Aciton-based) '持续移动' 组件 (创建)
- 预设 - XRI默认移动
- 勾选 左手触发移动
- 系统 - 选择 Locomotion System运动系统
- Locomotion System 运动系统组件
- Character Controller角色控制器组件
2.3 生成场景
生成设置入口:顶部 - 文件 - 生成设置
- Build 中的场景 - 添加已打开的场景
- 运行设备 - 刷新 - 选择链接的pico
- 构建和运行
组件目录
单纯的用来描述组件的大体文件结构
Interactor交互器
XR Direct Interactor直接交互器 XR Interactor Line Visual XR Interactor Reticle visual XR Ray Interactor射线交互器 XR Socket lnteractor
Interactable交互体
XR Grab lnteractable抓取交互体 XR Simple Interactable XR Tint Interactable Visual
Movement Type交互体运动方式
Instantaneous瞬时 => 瞬间吸取 Kinematic运动 Velocity Tracking速度跟踪 => 投掷
API
传送功能Teleportation
Teleportation Area传送区域
层级面板右键 - XR - Teleportation Area传送区域 可适当填满整个区域,并略高于之前地面。 默认扳机键传送。
Teleportation Anchor传送锚点
层级面板右键 - XR - Teleportation Anchor传送锚点 可适当缩小。 默认扳机键传送。
使用
通过左右手控制器,调整 '传送指示线' 的样式。 通过传送组件,调整落点。
- XR Origin
- Camera Offset '视角控制'
- Camera Offset - LeftHand Controller '左手控制器'
- XR Ray Interactor射线交互器
- 直线类型 - 选择Projectile Curve抛物线 (默认Straight Line直线)
- 速度 - 7(越大越接近直线,速度过高会导致线条末端无法落地)
- XR Interactor Line Visual 交互器样式
- Valid Color Gradient 有效射线颜色
- Invalid Color Gradient 无效射线颜色
- Reticle 靶心样式 - 选择一个仅网格过滤器,无网格渲染器的模型
- XR Ray Interactor射线交互器
- Camera Offset - LeftHand Controller '左手控制器'
- Camera Offset '视角控制'
- 传送区域的3D对象
- Teleportation Anchor组件
- Match Orientation 匹配定位
- World Space Up 传送至目标处,不改变朝向(默认)
- Target Up And Forward 传送至目标处,并面朝y轴方向
- Match Orientation 匹配定位
- Teleportation Anchor组件
抓握功能Grab
必须作用于刚体
- XR Grab Interactable
- Throw Velocity Scale投掷速度,释放抓握物体时继承的速度
文件说明
包管理器 - Unity注册表 XR Interaction Toolkit 2.0.4(XR交互工具包) XRI Default Continuous Move(持续移动) XRI Default Continuous Turn(持续转向) XRI Default Snap Turn(快速转向) XRI Default Left Controller(左手控制器) XRI Default Right Controller(左手控制器) XRI Default Input Actions(输入动作)